#include "prosteFFT.h"
#include <iostream>
#include <fstream>
#include <cmath>
#include <cstring>


#define PI  3.1415926535897932
using namespace std;

double zero(double i, int z)
{
      return floor(i*pow(10.0, z))/pow(10.0, z);
} 

int main()
{


    zespolona* dane;
    string str;
    int N;

    ifstream wejscie;
    wejscie.open("dane.txt");

    if (!wejscie.good()) {
	cout << "Brak pliku" << endl;
		return -1;
    }
    getline(wejscie, str);
    N = atoi(str.c_str());
    dane = new zespolona[N];
    int i = 0;
    while (!wejscie.eof()) {
	if (i >= N) {
	    break;
	}
	getline(wejscie, str);
	dane[i] = atof(str.c_str());
	++i;
    }
 
    prosteFFT tr;
    ////zespolona * ret = transformata.FFT_p(dane, N);
    //dft trans;
    //zespolona * ret = trans.DFT_naiwne_2(dane, N); .do_biegunowych()
   // FFT_p(zespolona* x, int dane);    //
   zespolona *ret = tr.FFT_p(dane,N);
//    for (int i = 0; i < N; ++i) {
//	cout << ret[i].do_biegunowych() << endl;
  // cout << ret[i].re << "  " << ret[i].im << endl;
//    }

/*
    int N;
    double x;
    zespolona* dane;
    N=32;
    dane = new zespolona[N];


    for(N=0; N<32; ++N)
   {
     dane[N] = sin((2*PI)*N/32);
    // cout<<x<<endl;
    // cout<<dane[N].re<<dane[N].im<<endl;
   } 



    prosteFFT tr;
   // dft trans;
   // zespolona * ret = trans.DFT_naiwne_2(dane, N);
   zespolona *ret = tr.FFT_p(dane,N);
    for (int i = 0; i < N; ++i) {
	//cout << ret[i].do_biegunowych() << endl;
  cout << ret[i].re << "  " << ret[i].im << endl;
    }

*/
    
    
    system("pause");
    return 0;
}
